var layModules = {};
var stateNameMap = {
    0: '未同意',
    1: '已加入',
    2: '已拒绝'
};
var Utils = {
    showToast: function (msg) {
        layModules.layer.open({
            title: '提示',
            content: msg
        });
    }
};

function ApplyTable() {

}

ApplyTable.prototype = {
    render: function () {
        var _this = this;
        layModules.table.render({
            elem: '#apply-table',
            url: '/front/group/apply-list',
            page: false,
            height: 600,
            cols: [[
                {field: 'id', title: '#', width: 80, fixed: 'left'},
                {
                    field: 'user', title: '申请人', fixed: 'left', templet: function (d) {
                        return d.user ? d.user.name : '未知';
                    }
                },
                {
                    field: 'userGroup', title: '群组', fixed: 'left', templet: function (d) {
                        return d.userGroup.name + '(' + d.userGroup.description + ')';
                    }
                },
                {field: 'roleLevel', title: '角色权限等级'},
                {field: 'roleName', title: '角色名称'},
                {
                    field: 'state', title: '状态', templet: function (d) {
                        return stateNameMap[d.state];
                    }
                },
                {
                    field: 'operation', title: '操作', templet: function (d) {
                        var html = '<button data-id="' + d.id + '" class="btn-agree layui-btn layui-btn-xs layui-btn-normal">同意</button>';
                        html += '<button data-id="' + d.id + '" class="layui-btn layui-btn-xs layui-btn-danger">拒绝</button>';
                        return html;
                    }
                }
            ]],
            done: function () {
                $('.btn-agree').click(function () {
                    var id = $(this).attr('data-id');
                    $.post('/front/group/_agree-apply', {roleId: id}, function (res) {
                        if (res.code === 0) {
                            Utils.showToast('已同意[' + res.data.name + ']加入群组');
                            _this.render();
                        } else {
                            Utils.showToast(res.msg);
                        }
                    }, 'json');
                });
            }
        });
    }
};
$(function () {
    layui.use(['table', 'layer'], function () {
        layModules.table = layui.table;
        layModules.layer = layui.layer;
        init();
    });

    function init() {
        new ApplyTable().render();
    }
});